#ifndef __GUIACTIONMANAGER__
#define __GUIACTIONMANAGER__

//[Headers]     -- You can add your own extra header files here --
#include "../includes/includes.h"

#include "../components/MainComponent.h"
#include "../components/ElementComponent.h"

#include "../AnimationManager/AnimationManager.h"
//[/Headers]


class GUIActionsManager
{
public:
    //==============================================================================
	GUIActionsManager ()
	{}
	GUIActionsManager (MainComponent * mainComponent_) : mainComponent (mainComponent_),
														 animator (0)
	{
		animator = new AnimationManager(mainComponent);
	}

    virtual ~GUIActionsManager()
	{
		if(animator)
			delete animator;
	}

	virtual void mouseEnterApp(const MouseEvent& e)
	{}
	virtual void mouseEnterElement(ElementComponent * element, const MouseEvent& e)
	{}
	virtual void mouseExitApp(const MouseEvent& e)
	{}
	virtual void mouseExitElement(ElementComponent * element, const MouseEvent& e)
	{}
	virtual void mouseMoveOnApp(const MouseEvent& e)
	{}
	virtual void mouseMoveOnElement(ElementComponent * element, const MouseEvent& e)
	{}
	virtual void mouseDownOnApp(const MouseEvent& e)
	{}
	virtual void mouseDownOnElement(ElementComponent * element, const MouseEvent& e)
	{}
	virtual void mouseUp(Component * comp, const MouseEvent& e)
	{}
	virtual void mouseDragApp(const MouseEvent& e)
	{}
	virtual void mouseDragElement(ElementComponent * element, const MouseEvent& e)
	{}
	virtual void mouseDoubleClickOnApp(const MouseEvent &e)
	{}
	virtual void mouseDoubleClickOnElement(const MouseEvent &e)
	{}
	virtual void mouseClickOnApp(const MouseEvent &e)
	{}
	virtual void mouseClickOnElement(const MouseEvent &e)
	{}

//==============================================================================
//    juce_UseDebuggingNewOperator
  
protected:
	MainComponent * mainComponent;

	AnimationManager * animator;

};


#endif 
